package com.huitu.whht.base.core.api.geo.wfz.entities;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huitu.whht.api.core.common.base.BaseQo;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeDeserializer;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeSerializer;
import lombok.*;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 说明: 水功能区基本信息表查询条件实体类,表名称: WR_WFZ_B <br/>
 * 日期: 2018-07-24
 *
 * @author ZhangPeng
 */
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@AllArgsConstructor
public class GeoWfzQo extends BaseQo {

    private static final long serialVersionUID = 4L;

    /**
     * (数组)水功能区代码
     */
    private List<String> wfzCdList;
    /**
     * 水功能区代码
     */
    private String wfzCd;
    /**
     * 水功能区名称
     */
    private String wfzNm;
    /**
     * 水功能区功能排序
     */
    private String wfzFunSeq;
    /**
     * 水功能区起始断面
     */
    private String wfzStar;
    /**
     * 水功能区终止断面
     */
    private String wfzEnd;
    /**
     * (最小)水功能区面积
     */
    private Double wfzAMin;
    /**
     * (最大)水功能区面积
     */
    private Double wfzAMax;
    /**
     * (最小)水功能区长度
     */
    private Double wfzLenMin;
    /**
     * (最大)水功能区长度
     */
    private Double wfzLenMax;
    /**
     * (最小)水功能区最低水位
     */
    private Double wfzLwlMin;
    /**
     * (最大)水功能区最低水位
     */
    private Double wfzLwlMax;
    /**
     * 水功能区水质目标
     */
    private String wfzWqt;
    /**
     * (数组)监控级别
     */
    private List<String> monGList;
    /**
     * (数组)管理单位代码
     */
    private List<String> engManCdList;
    /**
     * 管理单位代码
     */
    private String engManCd;
    /**
     * (开始时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsBgTm;
    /**
     * (结束时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsEdTm;
    /**
     * 备注
     */
    private String nt;
    /**
     * (数组)是否考核
     */
    private List<String> isExamList;
    /**
     * (开始时间)开始考核日期
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime begExamBgTm;
    /**
     * (结束时间)开始考核日期
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime begExamEdTm;
    /**
     * (数组)索引码
     */
    private List<String> indxCdList;
    /**
     * 索引码
     */
    private String indxCd;

    public GeoWfzQo(){}

}
